import { observable, makeAutoObservable, action } from 'mobx';
// mobx中通过动作（action）来修改应用状态，并且建议对任何修改 observables 或具有副作用的函数使用action。
class MobxStore {
  constructor() {
    makeAutoObservable(this);
  }

  @observable student = {
    name: '小明',
    age: 18,
    sex: '1',
    isPassTheExam: '',
    grade: 68,
  };

  @action getGrade = (value: Number) => {
    if (value >= 80) {
      this.student.isPassTheExam = 'A';
    } else if (value < 80 && value >= 60) {
      this.student.isPassTheExam = 'B';
    } else if (value < 60) {
      this.student.isPassTheExam = 'C';
    }
  };

  @action changeAge = () => {
    this.student.age += 1;
  };
}
const mobxStore = new MobxStore();
export default mobxStore;
